package cn.csc.module.shop.convert.user;

import cn.csc.framework.common.pojo.PageResult;
import cn.csc.module.shop.api.user.dto.ShopUserRespDTO;
import cn.csc.module.shop.controller.admin.user.vo.ShopUserCreateReqVO;
import cn.csc.module.shop.controller.admin.user.vo.ShopUserExcelVO;
import cn.csc.module.shop.controller.admin.user.vo.ShopUserRespVO;
import cn.csc.module.shop.controller.admin.user.vo.ShopUserUpdateReqVO;
import cn.csc.module.shop.controller.app.user.vo.AppShopUserSimpleRespVO;
import cn.csc.module.shop.dal.dataobject.user.ShopUserDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 商家用户 Convert
 *
 * @author liuchuang
 */
@Mapper
public interface ShopUserConvert {

    ShopUserConvert INSTANCE = Mappers.getMapper(ShopUserConvert.class);

    ShopUserDO convert(ShopUserCreateReqVO bean);

    ShopUserDO convert(ShopUserUpdateReqVO bean);

    ShopUserRespVO convert(ShopUserDO bean);

    ShopUserRespDTO convert2(ShopUserDO shopUserDO);

    AppShopUserSimpleRespVO convert3(ShopUserDO shopUserDO);

    List<ShopUserRespVO> convertList(List<ShopUserDO> list);

    List<AppShopUserSimpleRespVO> convertList2(List<ShopUserDO> list);

    PageResult<ShopUserRespVO> convertPage(PageResult<ShopUserDO> page);

    List<ShopUserExcelVO> convertList02(List<ShopUserDO> list);

    ShopUserExcelVO map(ShopUserDO value);

}
